# 常用OpenBSD netcat命令


### 使用TCP发送/接收数据
#: 接收端
$ netcat -l 8888
#: 发送端
#: `-N`表示发送完毕之后关闭连接, 如果不支持这个选项可使用`-q0`代替
$ netcat -N 192.168.0.107 8888 < data.txt

### 结合打包软件发送数据
#: 接收端
$ netcat -l 8888 | tar -xzvf -
#: 发送端
$ tar -zcvf - datadir/ | netcat 192.168.0.107 8888 -N

### TCP端口扫描
$ netcat -z -v 192.168.0.107 2>&1 | grep succeeed


### A weird WebServer
#: 你甚至能用它搭一个简易http服务器
$ while true; do netcat -l 8888 -N < a.http ; done
#: `a.http`内容如下
```
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Server: netcat!

<!doctype html>
<html><body><h1>A webpage served by netcat</h1></body></html>
```

